home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Hacking & Misc / oB's MacSpoofing.sit / oB's MacSpoofing / MacSpoofing.rsrc / TEXT_128.txt < prev    next >
Text File  |  1998-04-04  |  20KB  |  586 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                                                   written Today [04-APR-98]
  13.  
  14.  
  15. Back again ;p It's been a while since the last one...I'll talk more about the my where abouts at the end of this one.  I am glad to be back, and I like coming back to some fairly uncharted territory for the Mac Underground. 
  16.  
  17. I recently mad the acquaintance of a couple of up-and-comers who are keepin' the cause alive. Freaky, #su98(EfNet) runs an ambitious take over crew. One of his peers The Weasel runs a very nice Hotline MacHack site that can be found with your Hotline client at hackadict.ml.org. A regular on The Weasels page, and object of attention for this piece is a Mac UG programmer named Weedo.
  18.  
  19. WeeDo is avid fan of the Mac underground, and a coder of considerable potential, he's succeffuly expored some ways in which the Mac UG can spoof via TCP/IP clients.... something which to my knowledge hasn't been accomlished yet. 
  20.  
  21. Sure we can spoof via a connection to a Linux box and runnin JIZ, but thats a little different. WeeDo came up with a script that when utilized in conjunction with an exploit of a software facility called WinGate (more on that in next section) will allow you to spoof right through IRCle... Not to bad...so thats the topic of todays lessson...
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34. WinGate is a software product of a New Zealand company called Firefly, Ltd. What the program essentially is, is a Firewall/Proxy server for the masses. It's a cheap, fairly well written internet gateway... You run the thing on any PC running Windows 95 or NT, and it makes a connection to the internet, and every computer connected to that machine via the LAN, can connect to the internet through that machine.  Where in lies the popularity of it... i.e. A small business with a LAN of 3 or 4 computers, can now go out and get a cheap 486 or Pentium, fortify it with some memory a fast modem and a 10/baseT card, get a dedicated Internet account, and then hook up the rest of the computers on the LAN to that one and they can all have dedicated Internet access. 
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51. One modem, one phone line, one internet account, but access for as many as their are on the LAN. Hell of a money saver. On the Mac side we have a similar program  called Vicom Internet Gateway. Some of you may have heard of it.
  52.  
  53. Ok...now here's the thing so we have this program called WinGate, and it's this firewall/proxy server. So what? How does it let us spoof.. Well besides being this proxy server it has some other would be nice features which include:
  54.  
  55. (from the promo sheet)
  56.  
  57.      * SOCKS V5 Server
  58.      * WWW Proxy
  59.      * HTTP Caching
  60.      * Request Types
  61.      * Accounting
  62.      * Auditing / Logging
  63.      * Policies and Rights
  64.      * FTP Gateway
  65.      * Telnet Gateway
  66.      * VDOLive Proxy
  67.      * POP3 Proxy
  68.      * Real Audio Proxy
  69.      * Mapped Links
  70.      * Rules
  71.      * Dial On Demand
  72.  
  73. A nice set of features...especially given this thing of downloadable off the net with a free trial... A pretty nice package.
  74.  
  75. you may have noticed in bold a Telnet gateway. Firefly's description of this feature is:
  76.  
  77.                      The Telnet Gateway allows use of Telnet clients
  78.                      to connect to remote servers.
  79.  
  80. DOH! There in lies our spoof.  And not because of this feature in and of itself...but because od a bundling mistake.
  81.  
  82. Essentially what we are talking about here is not really spoofing, no more so than if you dial in to a legitimate shell account that you own, and from that shell account type: telnet, and telnet from shell account to another site. I guess in some definitions thats spoofing, but I don't know...it seems pretty par for the course as far as UNIX shells go. I mean you've always been able to do that.
  83.  
  84. Well the problem with WinGate is that the programmers didn't see any immediate reason to set the telnet gateway up with a password. lol So essentially, you don't need to be a 'legitimate' user to use the telnet function of a remote server. Or, more appropriatley stated, since no password is necessary by default, _EVERYONE_ is a legitimate user! lol So in other words, you have but to find a WinGate, and if it has no telnet gateway password set, then feel free to telnet back out of it, in which case all further connection will appear (and accurately so) to be originating from the WinGate you telnetted into.
  85.  
  86. And the icing on the cake is, not only does this thing not require a password to use the telnet gateway by default, by default it also doesn't log incoming connections. In fact, the low end version of this package doesn't even offer logging. So though we're not talking about true spoofing here, (imho), we are talking about 'sploit' heaven >snicker<
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. Well great, now we know (sort of) what we can do with WinGates, what the hell good is it if we don't know how to find them. Well I told you of the sweetness of the cake, I told you of the icing on the cake, now here's the cherry on top: WinGates ain't hard to find ;)
  98.  
  99. As I have said, you can download this thing off the net, and it's a very popular program, so alot of people are using WinGates, and it just so happens Firefly chose to include a TCP listening port (for what reason I have no clue), but that port is at 1080, and with the right tool, you can scan for WinGates all day.
  100.  
  101.  
  102. Right tool? If you don't have it...get it NOW! AGNetTools from the AGGroup, the nicest suite of Internet network tools to be released for the Mac in a LONG time. It's free, and more over, YOU NEED IT to find WinGates. Here's the URL....
  103.  
  104.                ftp://ftp.aggroup.com/Public/goodies/AGNetTools/
  105.  
  106. Ok, once you've picked up NetTools...load it, and lets get busy.... We need to scan for IPs hosting WinGates. To find them we will use the NetTools Service Scan and search for machines listening at port 1080.
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. Alright, we select a Service Scan, and it brings up the Service Scan window. We need to do 2 things to proceed with the scan, first we need to make sure that the port we're searching for is set at 1080 (VITAL), and second we need to select a range to scan for.
  126.  
  127. For this example we're just going to scan a single Class C. from:
  128.  
  129.                                                         207.0.167.0       to
  130.                                                         207.0.167.255
  131.  
  132. This will scan 255 IPs. Normally you won't be so lucky as to find a WinGate in searching a single Class C. We will for this piece ;) but thats only because I already did my homework. The scan I would suggest if you wanna scan in an evening is :  
  133.  
  134.                                                         xxx.xx0.xxx.xxx to
  135.                                                         xxx.xx1.xxx.xxx
  136.  
  137. This will scan out (I believe) 65,025 address, or 255 x 255. Not sure at how I came to that conclusion, but anyway, I recommend that scan pattern only because I know that if you try and do more than that AGNetTools will crash. I think the nimbers get too high for it or somethin. Whatever the case, if you try and do more, or try to scan something like 000.000.000.000 to 255.255.255.255, it shuts down your machine.  
  138.  
  139. So...chill...I guarantee you if you scan 65,025 addresses you will find PLENTY of WinGates.
  140.  
  141. Anyway for our example we only scanned 255...and this is what the scan looks like:
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169. Alright, We performed a scan of an entire Class C from 207.0.167.0 to 207.76.0.255. At port 1080, the Service Scan found a number of ports, open, but as you recall, we're not interested in UDP ports, only TCP ports. And of those there is only one. 207.0.167.206 or www.casi400.com. But one is all we need, so good enough. At this point we can bring on IRCle and WeeDo's script that we mentioned early on...
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182. Alright, we have WinGates, now we can begin doing some (pseudo-) spoofing. I say (pseudo-) because more acturally what we are doing is telnet redirection. We're telnetting into insecure WinGates, and using their built-in telnet servers to telnet back out from those WinGates thus leaving our originating source to appear to be coming from that WinGate. And because the IRC is essentially nothing more than a slightly modified telnet connection we can use WinGates to 'spoof' on the IRC, making it appear as though our address is something other than our address... which technically it is =p Anyway...
  183.  
  184. To help us exploit these WinGates holes, and utilize them to spoof our addy on the IRC, we have a helpful little IRCle script from the Up-And-Comer I mentioned earlier, WeeDo.
  185.  
  186. Here's WeeDo's script as follows...
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217. A break down of what the script does...
  218.  
  219. 1.    First, when the script is loaded, it displays USAGE instructions
  220.  
  221. 2.    Next, as normal you connect to a server with the /SERVER command, with 
  222.                     the exception that instead of connecting to an IRC server, you connect to 
  223.                 one of the    WinGates we found earlier. (i.e. 207.0.167.0)
  224.  
  225. 3.    Once we've Connected to a WinGate, we use the script's '/SPOOF' 
  226.                 command.  As you can see, essentially what the '/SPOOF' command does is
  227.                 send the server our    defined NICK    IRCSERVER IRCSERVERPORT IDENT 
  228.                 and TAGLINE, via the IRCD        /QUOTE command. 
  229.  
  230. We use the script to do it for us, because although we could use the /quote command directly to send the IRC parameters through, we probably couldn't type then fast enough to make the connection. We'd more than likely get an... 
  231.  
  232.                                 *** USER Not enough parameters 
  233.  
  234. ...error. So to that extent of utility, the script is right on time for what it does.
  235.  
  236. Ok so now we know the mechanics of the script, time to bring on IRCle, and use our script to start 'spoofing'.
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246. If you don't have it, stop by and get the latest version of IRCle. 
  247.  
  248.                     http://www.xs4all.nl/~ircle
  249.  
  250. This hack only works (as far as I know) with version b10 or better.  Once you've got IRCle at hand, make sure that the WeeDo's spoofer is in IRCle's script folder.  Once Ircle is loaded, we can get to spoofin'...
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272. Above is a picture of IRCle's four main panels, The Console, the Userlist, the Connections, and the input line. For sake of ease of reading we'll show the windows seperatley from this time forth as needed, with the exception of  the console which we will show dumped to directly to the screen as a text dump.
  273.  
  274. Alright, the first thing we need to do in IRCle is load the spoofer...
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. (console:)
  283.  
  284.  
  285. Spoofer 1.2 loaded...
  286.  
  287. Usage:
  288.  
  289. 1. '/server [wingate ip] [telnetport]'
  290. 2. Wait until connection...
  291. 3. '/spoof [nick] [ircserver] [ircserverport] [ident] [tagline]'
  292.  
  293. A wonderful spoof from WeeDo, original code by Photoman
  294.  
  295.  
  296. Ok...now that WeeDo's spoofer is loaded we need to go ahead and try and make a connection to the WinGate we found in AGNetTools...
  297.  
  298. You may have recall that we found the WinGate at 207.0.167.206 at port 1080. Well with out going into much detail, the main thing to keep in mind is that 1080 is just a real useful port for searching for WinGates. But to use thae WinGate to spoof any given protocol we have to use the port assigned for that protocol. In the case of IRC, the port is 23.... 23 being the standard port for Telnet, and IRC essentially being nothing more than a worked over telnet connection. So we will attempt to connect to IP we found but at port 23...
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309. Looking up IP number for 207.0.167.206:23
  310. Found IP number: 207.0.167.206
  311. Identd waiting for connection
  312. Contacting server 207.0.167.206:23
  313. Connection with 207.0.167.206:23 established
  314. unknown server message!:  √ø√ª√ø√ª√ø‚Ä°WinGate>NICK oB
  315. unknown server message!:  Connecting to host NICK...Host name lookup for 'NICK' failed
  316. unknown server message!:  USER oleBuzzard 32 . :/<n0wledge phreak
  317. unknown server message!:  Connecting to host USER oleBuzzard 32 . ...Host name lookup for 'USER oleBuzzard 32 . ' failed
  318.  
  319.  
  320. Ok, see all that crap up there in red...well that's what the telnet connection to the WinGate ends up looking like when it comes back from the WinGate server, through to IRCLe... 
  321.  
  322. Now this is the point where alot of people can get hung up, because once you've gotten this far, it seems like IRCle is just hanging. And to further that assumption, IRCle's connection screen shows the connection as not being all the way open...
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341. Well don't worry about it...this is normal...in effect the connection is not all the way open...mainly because we're connected to the WinGate telnet server, but not yet to the IRC...for that  we need to enter the second command line for the spoofer. You might recall it read something like this...: 
  342.  
  343.        /spoof [nick] [ircserver] [ircserverport] [ident] [tagline]
  344.  
  345.  
  346. Well that's exactly what we're going to do...
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359. unknown server message!:  irc.mindspring.com 6667
  360. unknown server message!:  Connecting to host irc.mindspring.com...Connected
  361. Looking up your hostname...
  362. Checking Ident
  363. No Ident response
  364. Found your hostname
  365. *** Welcome to the Internet Relay Network oB
  366. *** Your host is irc.mindspring.com, running version 2.8/hybrid-5.1b8
  367. *** Your host is irc.mindspring.com, running version 2.8/hybrid-5.1b8
  368. *** This server was created Wed Nov 26 1997 at 17:30:46 EST
  369. *** 2.8/hybrid-5.1b8 oiwszcrkfydn biklmnopstv
  370. *** There are 5731 users and 28357 invisible on 61 servers
  371. *** There are 207 IRC Operators online
  372. *** 14886 channels have been formed.
  373. *** I have 970 clients and 1 servers
  374. *** Current local  users: 970  Max: 1638
  375. *** Current global users: 34088  Max: 42426
  376. *** - irc.mindspring.com Message of the Day - 
  377. *** - 3/4/1998 14:21
  378. *** -=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  379. ***    MindSpring Enterprises -=- EFNet Internet Relay Chat Server
  380. ***    Located in Atlanta, Georgia -=- Operating on Ports 6660-6669
  381. ***   ----------------------------------------------------------------
  382. ***                    Server Administrator: johanMS
  383. ***  Server Ops:  Celestian  Osc  zeppelin  Saralee  tersIan  brian-x
  384. ***                         Geezus  Angmar  Bogman
  385. ***  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
  386. *** 
  387. ***    MindSpring is a full service nationwide Internet Service
  388. ***    Provider located in Atlanta, Georgia.
  389. *** 
  390. ***    Please send reports of abusive users of this server to
  391. ***    ircadmin@mindspring.com, including logs of the event(s) and 
  392. ***    the output of the /TIME or /DATE command, as well as
  393. ***    /WHOIS.
  394. *** 
  395. ***    This server is a privately owned service and has an Acceptable
  396. ***    Use Policy that clients must adhere to. Failure to follow these
  397. ***    rules will result in denial of use of the service (K-Line).
  398. ***
  399. ***    * No BOTS. This includes bots used to maintain channels as well
  400. ***      as bots used to harass other users.
  401. *** 
  402. ***    * No MULTIPLE CONNECTIONS. One connection is allowed per user.
  403. *** 
  404. ***    * No LINK LOOKERS or automated scripts designed for HACKING.
  405. *** 
  406. ***    * CHANNEL TAKEOVERS, FLOODING, and other forms of IRC ABUSE are 
  407. ***      absolutely forbidden here.
  408. *** 
  409. ***    * If you start a channel, it is yours to administer. We CAN NOT
  410. ***      assist you in the maintenance or recovery of your channel.
  411. ***      This is not political but rather technical. There is NO means
  412. ***      for an Server Operator to modify the state of ANY channel.
  413. *** 
  414. ***    * No ADVERTISING of any kind.
  415. *** 
  416. ***   We are currently NOT looking for any new IRC Operators
  417. *** 
  418. *** End of /MOTD command.
  419.  
  420. *** Notify List:  daemon9 videov free_ TheShark DreamRock Gersh Shells SoMeOnE In- panasync habit
  421.  
  422.  
  423. Well what'dya know...we did it ;p. Don't believe me? Well check for yourself...do a /whois...
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432. *** oB is ~oleBuzzard@www.casi400.com (nu-r00lz!)
  433. *** oB is on IRC via server irc.mindspring.com (MindSpring IRC Server)
  434. *** oB has been idle for 1 minutes and 29 seconds
  435.  
  436. You might recall that www.casi400.com was the address where AGNetTools found the WinGate.
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448. Now then, in other fun, what is really nice about this spoof is that you can run up to 10 clones per IRCle IRC client, and have them all come back with different IPs. Now thats great for getting around bans, and k-lines and such, and also for performing Clone Floods. As some of you may know, if you use something like ACID to flood with under clones, the flood can in effect flood you right off the IRC...well with the multiple addresses, that doesn't have nearly the likelihood of happening....
  449.  
  450. To Run the clones, just follow the procedures listed throughout this phile, but do it on another of IRCles connection slots. There are ten available.
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488. Here's a list of found WinGates. All of these were scanned with AGNetTools, and verified through IRCle to work for spoofing. Incidentally, these were all found in a single afternoon.
  489.  
  490. IP Address        Domain Name                Protocol
  491. =====================================================
  492. 205.151.63.192    63-192.tr.cgocable.ca         TCP
  493. 205.151.63.215    63-215.tr.cgocable.ca         TCP
  494. 207.0.21.51       fire.maryville.com            TCP
  495. 207.0.21.65          fire2.maryville.com           TCP
  496. 207.0.23.10          ns.consolidated.com           TCP
  497. 207.0.72.62          xxx-yyy.dwave.net             TCP
  498. 207.0.72.78          207.0.72.78                   TCP
  499. 207.0.112.10         207.0.112.10                  TCP
  500. 207.0.119.122        mail.swaggy.com               TCP
  501. 207.0.124.132        207.0.124.132                 TCP
  502. 207.0.124.133        207.0.124.133                 TCP
  503. 207.0.140.3          207.0.140.3                   TCP & UDP
  504. 207.0.167.206        www.casi400.com               TCP & UDP
  505. 207.0.167.213        207.0.167.213                 TCP & UDP
  506. 207.0.167.218        calvin.kerasotes.com          TCP & UDP
  507. 207.0.168.194        207.0.168.194                 TCP
  508. 207.0.169.18         207.0.169.18               TCP
  509. 207.0.173.51         pm1-51.akr.infi.net           TCP & UDP
  510. 208.142.100.99       208.142.100.99                TCP
  511. 208.142.121.2        208.142.121.2                 TCP
  512. 208.142.130.67       208.142.130.67                TCP
  513. 208.142.141.51       208.142.141.51                TCP
  514. 208.142.143.56       208.142.143.56                TCP
  515. 208.142.143.117      pc04-santiago.mozcom.com      TCP
  516. 208.142.144.92       208.142.144.92                TCP
  517. 208.142.146.20       208.142.146.20                TCP
  518. 208.142.147.10       ppp05-davao.mozcom.com        TCP
  519. 208.142.147.47       ppp42-davao.mozcom.com        TCP
  520. 208.142.148.6        208.142.148.6                 TCP
  521. 208.142.150.102      sti.edu.ph                    TCP
  522. 208.142.151.195      ppp18-iloilo.mozcom.com       TCP
  523. 208.142.161.14       208.142.161.14                TCP & UDP
  524. 208.142.161.18       208.142.161.18             TCP
  525. 208.142.161.111      208.142.161.111               TCP & UDP
  526. 208.142.161.120      208.142.161.120               TCP
  527. 208.142.161.176      p48.mb03.psg.skyinet.net      TCP & UDP
  528. 208.142.161.179      p51.mb03.psg.skyinet.net      TCP
  529. 208.142.161.234      p42.mb04.psg.skyinet.net      TCP
  530. 208.142.164.4        noc04.cbu.skyinet.net         TCP
  531. 208.142.165.1        p01.mb01.cbu.skyinet.net      TCP
  532. 208.142.165.18       p18.mb01.cbu.skyinet.net      TCP
  533. 208.142.165.39       p39.mb01.cbu.skyinet.net      TCP & UDP
  534. 208.142.165.45       p45.mb01.cbu.skyinet.net      TCP
  535. 208.142.165.55       p55.mb01.cbu.skyinet.net      TCP
  536. 208.142.165.78       p14.mb02.cbu.skyinet.net      TCP
  537. 208.142.165.100   p36.mb02.cbu.skyinet.net      TCP & UDP
  538. 208.142.165.102      p38.mb02.cbu.skyinet.net      TCP & UDP
  539. 208.142.165.103      p39.mb02.cbu.skyinet.net      TCP
  540. 208.142.167.99       208.142.167.99                TCP & UDP
  541. 208.142.175.34       208.142.175.34                TCP
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. MAD shoutz go out to Freaky, Kinslayer, The Weasel, and WeeDo, as well as to #su98, HackAddict HL, and to those still bangin' tryin to keep the Mac Underground alive...
  557.  
  558. /<n0wledge phreak? Yeah...I'm comin' back...I've got to. It's always been my opinion to teach, learn or burn...and I don't smoke...err...or something...anyway... so as to why I've been away so long, I've been in transition....literally.  From Colorado to New York ;p Talk about culture shock! You mean there are no Mountains in Brooklyn??? lol...Not even Mt. Vernon???
  559.  
  560.  *shrug* Anyway, the system will be up by the time this document is wide spread, as will the web page...so hit me up.
  561.  
  562.  
  563.                       /<n0wledge phreak www -=- http://www.k0p.com
  564.                           /<n0wledge phreak FC -=- k0p.com
  565.                                oleBuzzard's E-mail -=- admin@k0p.com
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.